package com.to_door_recycle.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 *  接口文档生成配置
 */
@Configuration
public class Knife4jConfig {

    // 用户微信小程序端的测试文档
    @Bean(value = "user_wxapp_doc")
    public Docket userWxAppDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("用户微信小程序端接口文档")		// 设置当前文档的标题
                        .description("用于测试用户微信小程序端所有接口的文档")		//自定义文档简介
                        .contact("3079314177@qq.com")		//写这个模块功能的程序员的email邮箱
                        .version("1.0")	//指定当前文档的版本
                        .build())
                //分组名称
                .groupName("用户微信小程序端")		//设置当前组名称
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.to_door_recycle.user_wxapp.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

    // 回收员微信小程序端的测试文档
    @Bean(value = "recycler_wxapp_doc")
    public Docket recyclerWxAppDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("回收员微信小程序端接口文档")		// 设置当前文档的标题
                        .description("用于测试回收员微信小程序端所有接口的文档")		//自定义文档简介
                        .contact("3079314177@qq.com")		//写这个模块功能的程序员的email邮箱
                        .version("1.0")	//指定当前文档的版本
                        .build())
                //分组名称
                .groupName("回收员微信小程序端")		//设置当前组名称
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.to_door_recycle.recycler_wxapp.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }


    // 管理员网页端的测试文档
    @Bean(value = "admin_wxapp_doc")
    public Docket adminWxAppDocket() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("管理员网页端接口文档")		// 设置当前文档的标题
                        .description("用于测试管理员网页端所有接口的文档")		//自定义文档简介
                        .contact("3079314177@qq.com")		//写这个模块功能的程序员的email邮箱
                        .version("1.0")	//指定当前文档的版本
                        .build())
                //分组名称
                .groupName("管理员网页端")		//设置当前组名称
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.to_door_recycle.admin_web.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }


}
